The use of digital map or spatial data is vital to the success of companies in many industries. For example, telecommunications companies use spatial data to locate bottlenecks and breakdowns in telephone networks; trucking companies use it to determine optimal routing of their tractor-trailer trucks; and even the United States Army uses it to manage troop deployments and supply operations for national defense.
As recently as ten years ago, most of the computer products that made it possible to use map data were specialized, stand-alone computer systems with specialized mapping (map-data-handling) software running on the same computers that store the map data. The mapping software generally allowed users to interact with displayed maps by, for example, zooming on specific map regions. Though useful, these computer systems, known as single-tier systems, were both expensive to purchase and expensive to operate. Indeed, their expense put them beyond the reach of many businesses.
More recent years witnessed the emergence of two-tier mapping systems using new component-based mapping software and computer networks. Two-tier mapping systems comprise at least two computer systems: The first one, known as a server, stores and manages the map data, and the second one, known as a client, communicates with the server through a computer network, allowing the client to electronically request and receive map data from the server. The computer network generally takes the form of a local-area network, such as corporate intranet, or a wide-area network, such as the Internet. The World Wide Web portion of the Internet, in particular, has allowed any browser-equipped computer to act as a client to any Internet-connected map server. Indeed, today there are many map servers that the public can access. Examples include www.mapquest.com, www.mapblaster.com, and www.mapinfo.com.
One problem with servers in two-tier map systems is the length of time they force clients, and more importantly, users of clients, to wait for map data. Conventionally, this wait arises in two ways, depending on whether a client is a “thick” client or a “thin” client. For thick clients—that is, clients that desire mapping software for handling map data—servers download (or copy) the mapping software to the clients before they send any map data. However, downloading this software to clients can sometimes take several minutes.
For thin clients—clients that lack the mapping software—servers skip the step of downloading the mapping software to speed delivery of requested map data. However, without the mapping software, these thin clients can generally only display static versions of the map. This means, for example, that to zoom in or out on a current display of a map, the client must request further map data from the map server and wait for the map server, potentially located anywhere in the world, to receive the zoom request, perform the necessary calculations, and then finally send an updated map image reflecting the desired zooming. Thus, thick clients force users to wait for the downloading of mapping software, and thin clients force users to wait for the server to handle requested functions, such as zooming.
In addition to this waiting problem, conventional servers in two-tier map systems also suffer from design inflexibilities. For instance, these servers are programmed to either treat all clients as thin clients by not allowing them to host the mapping software or all clients as thick clients by forcing them to host the mapping software. This means, for example, that servers geared for thick clients are unable to service thin clients, such as mobile telephones or personal-digital assistants, which have little memory capacity or little tolerance for significant waits.
Accordingly, there is a need for better servers and better ways of handling the communication and manipulation of map data over computer networks.